package com.three.dao;

import com.three.domain.Classes;
import com.three.domain.Students;
import com.three.domain.Subjects;
import com.three.domain.Users;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;


import java.util.List;

@Component
public interface ClassesDao {
//总端
    //pageCountClasses
    public int PageCountClasses(@Param("keyword") String keyword,@Param("start_date") String start_date,@Param("end_date") String end_date);
    //pageCountStudents
    public int PageCountStudents(@Param("class_name") String class_name);
    //学科列表
    public List<Subjects> subjectList();
    //负责人列表
    public List<Users> teacherList();
    // 查询班级信息
    public List<Classes> classesList(
            @Param("keyword") String keyword,
            @Param("start_date") String start_date,
            @Param("end_date") String end_date,
            @Param("pageIndex")Integer pageIndex,
            @Param("pageSize")Integer pageSize);

    //查看班级成员
    public List<Students> classStudentList(@Param("class_name") String class_name, @Param("pageIndex")Integer pageIndex, @Param("pageSize")Integer pageSize);

    //添加班级信息
    public int addClasses(Classes classes);

    //删除学生信息
    public int deleteStudent(Integer student_id);

    // 修改班级信息
    public int updateClasses(Classes classes);
    //班级详情下的学生列表
    public List<Students> classStudentListByadd();
    public int addStudentByadd(@Param("class_name") String class_name,@Param("student_id") Integer student_id);

// 教师端
public int PageCount(@Param("teacher")Integer teacher,@Param("keyword") String keyword,@Param("start_date") String start_date,@Param("end_date") String end_date);
    public List<Classes> classesListByTeacher(
            @Param("teacher") Integer teacher,
            @Param("keyword") String keyword,
            @Param("start_date") String start_date,
            @Param("end_date") String end_date,
            @Param("pageIndex")Integer pageIndex,
            @Param("pageSize")Integer pageSize);
    public int updateClassesByTeacher (Classes classes);
}


